#include "board.h"
#include "polsys.h"

void Board_Init()
{
    TEN_PIN_INIT;
    PWM_PIN_INIT;
    // LED_PIN_INIT;
    BST_PIN_INIT;
    BUTTON_PIN_INIT;
    MIC_PIN_INIT;
    DCIN_PIN_INIT;
    ABFBV_PIN_INIT;
    ASVP_PIN_INIT;
    ASDCC_PIN_INIT;
    UART_PIN_INIT;

    Adc_Init();
    AdvTim_Tim4Init();
    AdvTim_Run(M0P_ADTIM4);
}

void Board_PrvBstInitAdc()
{
    // 已经在 Board_Init 中统一初始化了，所以这里是空的，考虑后续优化 BSTC 组件，初始化函数不必一定要求设置。
}

void Board_PrvBstInitPwm()
{
    // 已经在 Board_Init 中统一初始化了，所以这里是空的，考虑后续优化 BSTC 组件，初始化函数不必一定要求设置。
}

void Board_PrvBstRunAdc()
{
    Adc_StartTimingScan();
}

void Board_PrvBstStopAdc()
{
    Adc_StopTimingScan();
}

void Board_PrvBstSetPwm(u8 new_pwm)
{
    if(new_pwm == 0)
    {
        PRV_BST_PIN_SEL_GPIO;
    }
    else
    {
        PRV_BST_PIN_SEL_PWM;
    }
    AdvTim_SetCompValue(M0P_ADTIM4, 0, new_pwm);
}


void Board_MainBstInitAdc()
{
    // 已经在 Board_Init 中统一初始化了，所以这里是空的，考虑后续优化 BSTC 组件，初始化函数不必一定要求设置。
}

void Board_MainBstInitPwm()
{
    // 已经在 Board_Init 中统一初始化了，所以这里是空的，考虑后续优化 BSTC 组件，初始化函数不必一定要求设置。
}

void Board_MainBstRunAdc()
{
    
}

void Board_MainBstStopAdc()
{
    
}

void Board_MainBstSetPwm(u8 new_pwm)
{
    if(new_pwm == 0)
    {
        MAIN_BST_PIN_SEL_GPIO;
    }
    else
    {
        MAIN_BST_PIN_SEL_PWM;
    }
    AdvTim_SetCompValue(M0P_ADTIM4, 1, new_pwm);
}
